Інформація про новину
  • Переглядів: 546
  • Дата: 13-02-2022, 11:52
13-02-2022, 11:52

11. Обмеження цілісності в Access

Категорія: Інформатика





Попередня сторінка:  10. Знайомство із системою керування ба...
Наступна сторінка:   12. Вибір даних в Access

До яких наслідків може призвести порушення обмежень цілісності в базі даних?

На минулому уроці ми реалізували проект бази даних автобусів і маршрутів у СКБд Microsoft Access. Однак створену базу даних не можна назвати готовою. Адже в ній можна вводити очевидно хибні дані, наприклад 2100 рік випуску автобуса. Щоб гарантувати відповідність бази реальним даним, у ній створюють спеціальні обмеження цілісності, які ми вивчатимемо сьогодні.

Завдання № 1

Які твердження можуть бути обмеженнями цілісності в базі даних автобусів і маршрутів, що містить дві таблиці зображеної структури?

Рік випуску автобуса належить діапазону від 1900 до поточного року. Кількість зупинок повинна бути додатною.

Кожне значення з поля «Маршрут» таблиці «Автобуси» має також бути в полі «Номер» таблиці «Маршрути».

Кожне значення поля «Номер» з таблиці «Маршрути» має також бути в полі «Маршрут» таблиці «Автобуси».

Завдання № 2

вкажи в таблицях зображеної бази даних 4 клітинки, дані в яких порушують обмеження цілісності, визначені в попередньому завданні.

Запусти СКБД Microsoft Access. Користуючись зображеною послідовністю дій та рубрикою «Запитання-відповіді», задай обмеження для значень поля «Рік випуску» в таблиці «Автобуси»: рік випуску автобуса має перебувати в межах від 2000 року до поточного року включно.

Спробуй ввести рік випуску якогось із автобусів, що не задовольняє створеному обмеженню. сКбд має відобразити повідомлення про помилку, проаналізуй його. Щоб скасувати введення неправильного значення, натисни клавішу Esc.

Завдання № 4

Задай такі обмеження в таблиці маршрутів:

номер маршруту — від 1 до 500; довжина маршруту — більше 0; кількість зупинок на маршруті — більше 0.

Спробуй ввести дані, що не задовольняють цим обмеженням і переконайся, що СКБД відображає повідомлення про помилку.

Досі ми створювали обмеження цілісності, що стосувалися однієї таблиці. Тепер створи обмеження, що пов'язує дані двох таблиць: кожне значення з поля «Маршрут» таблиці«Автобуси» має також бути в полі «Номер» таблиці «Маршрути».

Скористайся зображенням послідовності дій, а також рубрикою «Запи-тання-відповіді».

Спробуйте ввести в поле «Маршрут» таблиці «Автобуси» значення, якого немає в полі «Номер» таблиці «Маршрути», переконайтеся, що СКБд видасть повідомлення про помилку та проаналізуйте його.

ЗАПИТАННЯ-ВІДПОВІДІ

Що таке обмеження цілісності?

Обмеження цілісності — це правило, якому мають задовольняти дані в базі, щоб не суперечити одне одному та предметній області, тобто бути цілісними.

Як забезпечують підтримання обмежень цілісності?

Обмеження цілісності створюють через зазначення певних властивостей полів таблиць, а їх підтримання забезпечує СКдБ. Якщо вводити або змінювати дані так, що обмеження цілісності порушуються, цю операцію СКдБ заблокує.

які є різновиди обмежень цілісності?

варто розрізняти обмеження двох типів, адже засоби їх створення різні:

обмеження, що стосуються полів однієї таблиці; обмеження, що пов'язують певною умовою поля кількох таблиць.

Серед обмежень першого типу ми вивчатимемо ті, що стосуються значень якогось одного поля, а серед обмежень другого типу — ті, що накладаються зв'язком «один-до-багатьох».

як створити обмеження на значення в певному полі?

Потрібно виділити це поле у вікні конструктора й внизу, в області «Властивості поля», у рядку «Правило перевірки» записати правило, якому мають задовольняти дані.

Наприклад, на рисунку зображено, як задати обмеження «Кількість зупинок має бути додатною» на значення поля «Кількість зупинок» у таблиці «Маршрути».

Якщо потрібно ввести більш складне правило, наприклад вказати, що значення поля має перебувати в діапазоні від одного числа до іншого, можна скористатися Побудовником виразів — спеціальним вікном, що відкривається кнопкою

розташованою в рядку

«Правило перевірки» справа.

Так, у зображеному нижче вікні сконструйовано обмеження, яке означає, що значення певного поля має перебувати в діапазоні від -5 до 5 включно. для його побудови виконано такі дії:

в області «Елементи виразів» вибрати пункт «Оператори»; в області «Категорії виразів» вибрати пункт «Порівняння»; в області «Значення виразів» вибрати оператор «Between»; доповнити вираз так, як показано у верхньому полі.

Як створити обмеження на значення в певному полі?

Потрібно виділити це поле у вікні конструктора й внизу, в області «Властивості поля», у рядку «Правило перевірки» записати правило, якому мають задовольняти дані.

Наприклад, на рисунку зображено, як задати обмеження «Кількість зупинок має бути додатною» на значення поля «Кількість зупинок» у таблиці «Маршрути».

Щоб створити таке обмеження цілісності, потрібно: вибрати стрічку «Знаряддя бази даних» і натиснути кнопку «Зв'язки» — з'явиться вікно «Зв'язки»;

з області «Усі об'єкти Access» у вікно «Зв'язки» перетягнути таблиці, що з'єднані зв'язком «один-до-багатьох»;

у вікні «Зв'язки» ключ таблиці, що розташована з боку «один», потрібно перетягнути на додатковий стовпець таблиці, розташованої з боку «багато» — буде відображено вікно «Редагування зв'язків»;

у вікні «Редагування зв'язків» потрібно встановити прапорець «Забезпечення цілісності даних» і натиснути кнопку «OK».

У результаті зв'язок «один-до-багатьох» відобразиться графічно. Зауважте, якщо не встановлювати прапорця «Забезпечення цілісності даних», то символи «1» і «то» біля лінії зв'язку не відображатимуться й обмеження цілісності не підтримуватиметься.

ПЕРЕВІР СЕБЕ

1. Опиши алгоритми створення в СКБД таких обмежень цілісності:

значення числового поля має бути більшим за певне число; значення числового поля має належати певному діапазону; значення у стовпці х таблиці А мають також належать ключовому стовпцю у таблиці B.

2. Схема бази даних у вікні «Зв'язки» виглядає, як на рисунку нижче.

Вкажи клітинки, значення в яких порушують обмеження цілісності.

3. До створеної на минулому уроці бази даних учнів та класів додай такі обмеження цілісності: дати народження учнів мають бути такими, щоб їхній вік становив від 6 до 11 років; не можна вказувати, що учень вчиться в неіснуючому класі, тобто такому, якого немає в таблиці «Класи».

4. Коли ми створювали обмеження цілісності, що накладається зв'язком «один-до-багатьох», то СКБД Microsoft Access на схемі зв'язків поставила символ «один» біля таблиці «Маршрути», а символ «“» (багато) — біля таблиці «Автобуси». Як ти вважаєш, звідки СКБД «дізналася», що ці символи ставити треба саме в такому порядку, а не навпаки?

Спробуй перетягнути поля у зворотному напрямі, тобто поле «Маршрут» таблиці «Автобуси» «Номер» з таблиці «Маршрути» на поле, а навпаки. Проаналізуй результат. Чи підтверджує він твою здогадку? Якщо ні, то спробуй пояснити принцип, за яким СКБД визначає множинність зв'язку, ще раз.

 

 

Це матеріал з підручника Інформатика 9 клас Коршунова 2022

 




Попередня сторінка:  10. Знайомство із системою керування ба...
Наступна сторінка:   12. Вибір даних в Access



^